/*
* 
* Fichier source projet intel Acceler8 sous license GNU GPL v3.
* Voir http://www.gnu.org/copyleft/gpl.html pour plus d'informations
* La license est egalement disponible dans le repertoire /doc
* 
* Cree le : jeudi 10 novembre 2011 à 17 : 19.
* Auteurs : Axel MOINET et Arnaud DURAND.
* 
* Nom de fichier : parallelforcgh.h
* Chemin du fichier : ./src/classes/parallelforcgh/parallelforcgh.h
* 
* Description : Exécution dans une boucle parallèle du calcul de Cgh via le passage en arguments des lignes g et h courantes.
* 
*/

#ifndef PARALLEL_FOR_CGH_H_INCLUDED
#define PARALLEL_FOR_CGH_H_INCLUDED

#include "tbb/blocked_range.h"
#include "tbb/parallel_for.h"
#include "tbb/concurrent_vector.h"
#include "../threadprincipal/threadprincipal.h"
#include "../../generic/typedefs.h"

class parallelForCGH {

public :
	parallelForCGH(int p_g, int p_h, threadPrincipal *p_thread, tbb::concurrent_vector<int> *p_cgh);
	void operator() (const tbb::blocked_range<int> &r) const;

	tableauSommePrefixe *tableau;

private :
	int g, h;
	tbb::concurrent_vector<int> *Cgh;
};

#endif
